package study.java.thread10;

import java.util.Timer;
import java.util.TimerTask;

/**
* @Name: TimerDemo
* @Description: 定时器测试类
* 说明：
* 	定时器是一个应用十分广泛的线程工具，可用于调度多个定时任务以后台线程的方式执行。
* 	可以通过Timer和TimerTask类来定义调度的功能。
* 	Timer：定时器
* 		Timer() 创建一个新计时器。
* 		void schedule(TimerTask task, Date time)  安排在指定的时间执行指定的任务，执行一次。
* 		void schedule(TimerTask task, Date firstTime, long period)  安排指定的任务在指定的时间开始进行重复的固定延迟执行。
* 		void schedule(TimerTask task, long delay)  安排在指定延迟后执行指定的任务，执行一次。
* 		void schedule(TimerTask task, long delay, long period)  安排指定的任务从指定的延迟后开始进行重复的固定延迟执行。
* 		void cancel()  终止此计时器，丢弃所有当前已安排的任务。
* 	TimerTask：定时器执行的定时任务
* 		boolean cancel()  取消此计时器任务。
* 		abstract  void run()  此计时器任务要执行的操作。指定者：接口 Runnable 中的 run
* @Author: 李超	lc_jack@foxmail.com
* @CreateDate: 2017-1-10 上午10:13:18 
* @Version: V1.0
 */
public class TimerDemo {
	
	public static void main(String[] args) throws InterruptedException {
		//创建定时器
		Timer timer = new Timer("定时器") ;
		//执行定时方法：3秒后执行该定时任务，之后，每秒执行一次
		timer.schedule(new MyTimerTask(), 3000, 1000) ;
		//终止此计时器
		Thread.sleep(10000) ;
		timer.cancel() ;
	}
}

//创建定时任务
class MyTimerTask extends TimerTask {
	@Override
	public void run() {
		System.out.println("执行定时任务...");
	}
}
